package day240515.e1;

public class Test {
    public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
        // 需求：支持排序 int[]
        /*int[] intArr = new int[]{5, 3, 9, 2, 1};
        MySortUtil.sort(intArr);
        MySortUtil.print(intArr);*/

        // 新需求：支持排序 Student[]
        Student[] studentArr = new Student[5];
        studentArr[0] = new Student("D学生",18);
        studentArr[1] = new Student("A学生",19);
        studentArr[2] = new Student("E学生",20);
        studentArr[3] = new Student("B学生",17);
        studentArr[4] = new Student("C学生",21);

        MySortUtil.print(studentArr);
        MySortUtil.sort(studentArr,new StudentFirstLetterComparator());
        MySortUtil.print(studentArr);

        MySortUtil.sort(studentArr,new StudentAgeComparator());
        MySortUtil.print(studentArr);
        // 我想要的结果
        // MySortUtil.sort(数组名,属性名);

        Dog[] dogArr = new Dog[5];
        for (int i = 0; i < 5; i++) {
            dogArr[i] = new Dog("编号-" + i, 6.5 - i);
        }
        MySortUtil.print(dogArr);
        MySortUtil.sort(dogArr,new DogWeightComparator());
        MySortUtil.print(dogArr);

        // 新需求：
        // 支持排序 Dog[]（按体重 weight）
        // 支持排序 TV[]（按价格 price）
        // 支持排序 Room[]（按面积 area）
        // 以及任何其他类型...
        // 目标：让 MySortUtil 代码足够`稳定`，同时`可扩展`

    }
}
